package(default_visibility = ["//visibility:public"])

load(
    "@rules_haskell//haskell:defs.bzl",
    "haskell_binary",
    "haskell_library",
)
load(
    "@rules_haskell//haskell:cabal.bzl",
    "haskell_cabal_binary",
    "haskell_cabal_library",
)
load(
    "//:build/common.bzl",
    "GHC_FLAGS",
)

haskell_library(
    name = "semantic-analysis",
    srcs = glob(["src/**/*.hs"]),
    compiler_flags = GHC_FLAGS + ["-XOverloadedStrings"],
    deps = [
        "//:base",
        "//:containers",
        "//:filepath",
        "//:text",
        "//:transformers",
        "//semantic-source",
        "@stackage//:aeson",
        "@stackage//:algebraic-graphs",
        "@stackage//:fused-effects",
        "@stackage//:fused-effects-readline",
        "@stackage//:fused-syntax",
        "@stackage//:hashable",
        "@stackage//:haskeline",
        "@stackage//:pathtype",
        "@stackage//:prettyprinter",
        "@stackage//:prettyprinter-ansi-terminal",
        "@stackage//:semilattices",
        "@stackage//:terminal-size",
    ],
)
